package net.schmurgon.gwt.request;

import com.google.gwt.valuestore.shared.Record;
import org.springframework.roo.addon.gwt.RooGwtMirroredFrom;
import net.schmurgon.server.domain.Run;
import com.google.gwt.requestfactory.shared.DataTransferObject;
import com.google.gwt.valuestore.shared.Property;
import net.schmurgon.gwt.shared.CourseType;
import net.schmurgon.gwt.request.RunnerRecord;

@RooGwtMirroredFrom(Run.class)
@DataTransferObject(Run.class)
public interface RunRecord extends Record {

    public String TOKEN = "RunRecord";

    Property<java.lang.Integer> bonus = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("bonus", "Bonus", java.lang.Integer.class);

    Property<net.schmurgon.gwt.shared.CourseType> courseType = new com.google.gwt.valuestore.shared.EnumProperty<net.schmurgon.gwt.shared.CourseType>("courseType", net.schmurgon.gwt.shared.CourseType.class, net.schmurgon.gwt.shared.CourseType.values());

    Property<java.lang.Integer> finishMinutes = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("finishMinutes", "Finish Minutes", java.lang.Integer.class);

    Property<java.lang.Integer> finishSeconds = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("finishSeconds", "Finish Seconds", java.lang.Integer.class);

    Property<java.lang.Integer> handicapMinutes = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("handicapMinutes", "Handicap Minutes", java.lang.Integer.class);

    Property<java.lang.Integer> handicapSeconds = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("handicapSeconds", "Handicap Seconds", java.lang.Integer.class);

    Property<net.schmurgon.gwt.request.RunnerRecord> runner = new com.google.gwt.valuestore.shared.Property<net.schmurgon.gwt.request.RunnerRecord>("runner", "Runner", net.schmurgon.gwt.request.RunnerRecord.class);

    Property<java.lang.Integer> score = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("score", "Score", java.lang.Integer.class);

    Property<java.lang.Integer> startMinutes = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("startMinutes", "Start Minutes", java.lang.Integer.class);

    Property<java.lang.Integer> startSeconds = new com.google.gwt.valuestore.shared.Property<java.lang.Integer>("startSeconds", "Start Seconds", java.lang.Integer.class);

    abstract Integer getBonus();

    abstract CourseType getCourseType();

    abstract Integer getFinishMinutes();

    abstract Integer getFinishSeconds();

    abstract Integer getHandicapMinutes();

    abstract Integer getHandicapSeconds();

    abstract RunnerRecord getRunner();

    abstract Integer getScore();

    abstract Integer getStartMinutes();

    abstract Integer getStartSeconds();

    abstract boolean isChanged();

    abstract void setBonus(Integer bonus);

    abstract void setCourseType(CourseType courseType);

    abstract void setFinishMinutes(Integer finishMinutes);

    abstract void setFinishSeconds(Integer finishSeconds);

    abstract void setHandicapMinutes(Integer handicapMinutes);

    abstract void setHandicapSeconds(Integer handicapSeconds);

    abstract void setRunner(RunnerRecord runner);

    abstract void setScore(Integer score);

    abstract void setStartMinutes(Integer startMinutes);

    abstract void setStartSeconds(Integer startSeconds);
}
